import { EntityTypeEnum } from '../common'
import { SkillPathEnum, ParamsNameEnum, MissType, Special, BuffEnum, ISkill } from '../enum'

// 存储技能，编号：职业-消耗-序号
const skills: { [key: string]: ISkill } = {
  '000': {
    name: '砍',
    type: [1],
    desc: '贫弱的攻击',
    damage: 1,
    speed: 0,
    target: 0,
    range: ['0'],
    longrang: false,
    pierce: false,
    particle: SkillPathEnum.Kan,
    animal: ParamsNameEnum.Kan, //默认和particle一致
  },
  '001': {
    name: '跳',
    type: [3],
    desc: '躲避弹丸攻击',
    particle: SkillPathEnum.Jump,
    missType: MissType.Bullet,
    animal: ParamsNameEnum.Jump,
  },
  '002': {
    name: '挡',
    type: [2],
    desc: '举盾防御',
    defense: 2,
    particle: SkillPathEnum.Dang,
    shield: SkillPathEnum.RoundShieldFrame,
  },
  '003': {
    name: '蓄',
    type: [0],
    desc: '获得一点能量',
    power: 1,
    target: 1,
    particle: SkillPathEnum.Xu,
    animal: ParamsNameEnum.Xu,
  },
  '010': {
    name: '爱心盾',
    type: [1, 2],
    desc: '治疗并防御',
    damage: -1,
    defense: 3,
    target: 1,
    speed: 1,
    longrang: false,
    pierce: false,
    particle: SkillPathEnum.HeartShield,
    shield: SkillPathEnum.HeartShieldFrame,
  },
  '011': {
    name: '挖地',
    type: [3],
    desc: '临时避难所，躲避大部分攻击',
    location: '2',
    particle: SkillPathEnum.Spade,
    animal: ParamsNameEnum.Spade,
  },
  '012': {
    name: '十字弩',
    type: [1],
    desc: '远程射击',
    damage: 2,
    speed: 1,
    range: ['0', '1'],
    longrang: true,
    pierce: false,
    particle: SkillPathEnum.Crossbow,
    bullet: EntityTypeEnum.Crossbow,
    animal: ParamsNameEnum.Crossbow,
  },
  '013': {
    name: '反射盾',
    type: [2, 5],
    special: Special.Reflect,
    desc: '防御并反弹远程弹丸攻击(一般是所有单范围攻击)',
    defense: 3,
    particle: SkillPathEnum.ShieldReflect,
    shield: SkillPathEnum.ShieldReflectFrame,
  },
  '020': {
    name: '尖刺盾',
    type: [4],
    buff: [BuffEnum.spine, BuffEnum.solid],
    desc: '你的防御更加严密并且将对近战攻击造成1反伤',
    damage: 1,
    defense: 1,
    target: 0,
    particle: SkillPathEnum.SpikedShield,
  },
  '021': {
    name: '蓄力一击',
    type: [1],
    desc: '快准狠的一击，对护盾造成额外四点伤害',
    damage: 2,
    broken: 4,
    speed: 0,
    target: 0,
    range: ['0'],
    longrang: false,
    particle: SkillPathEnum.ShieldImpact,
    animal: ParamsNameEnum.ShieldImpact,
  },
  '022': {
    name: '嗜血',
    type: [4],
    buff: [BuffEnum.blood],
    desc: '近战命中会恢复你的生命',
    damage: 1,
    particle: SkillPathEnum.Enrage,
  },
  '023': {
    name: '冲锋',
    type: [1, 2, 5],
    special: Special.chongfeng,
    range: ['0'],
    desc: '带盾撞人，获得盾牌数量的伤害加成',
    damage: 2,
    defense: 2,
    particle: SkillPathEnum.ShieldBash,
    shield: SkillPathEnum.RoundShieldFrame,
    animal: ParamsNameEnum.ShieldImpact,
  },
  '030': {
    name: '盾墙',
    type: [4],
    buff: [BuffEnum.retain],
    desc: '你将保留护盾',
    particle: SkillPathEnum.ShieldEchoes,
  },
  '031': {
    name: '火星撞地球',
    type: [1, 5],
    special: Special.earth,
    desc: '打断敌方行动，对敌我双方造成当前生命值伤害。（灾害面前，一视同仁）',
    particle: SkillPathEnum.UnstableProjectile,
    damage: 1,
    range: ['012'],
    longrang: true,
  },
  '032': {
    name: '陷阱',
    type: [0, 4],
    buff: [BuffEnum.trap],
    desc: '假装蓄力实则放下陷阱。(陷阱将持续存在直到阻拦对方地面近战攻击，同时只能存在一个)',
    power: 0,
    damage: 2,
    particle: SkillPathEnum.FloorHatch,
    animal: ParamsNameEnum.Xu,
  },
  '033': {
    name: '无限剑制',
    type: [4],
    buff: [BuffEnum.loopSword],
    desc: '每回合发出一次快速飞剑攻击',
    damage: 1,
    particle: SkillPathEnum.SwordTie,
  },
  '040': {
    name: '石中剑',
    type: [1],
    desc: 'ex-咖喱棒！',
    damage: 5,
    speed: 0,
    range: ['01'],
    longrang: true,
    particle: SkillPathEnum.AncientSword,
    animal: ParamsNameEnum.AncientSwordIdle,
  },
  // 飞行禁用
  '041': {
    name: '城墙',
    type: [3, 4],
    buff: [BuffEnum.wall],
    desc: '筑起城墙，坚守不退！(将十字弩升级，增加特效并且消耗减一。无法移动，但受到的远程伤害-1，同时视为在空中)',
    // location: '1',  //在动画之后才改为1
    particle: SkillPathEnum.CrenulatedShield,
    // missType: MissType.Bullet,
    animal: ParamsNameEnum.Spade,
  },
  '042': {
    name: '化身斯巴达',
    type: [4, 5],
    buff: [BuffEnum.spartan],
    special: Special.spartan,
    desc: '获得一点伤害减免，同时近战伤害+1',
    damage: 1,
    defense: 1,
    particle: SkillPathEnum.Spartan,
  },

  '110': {
    name: '遁',
    type: [3],
    desc: '躲避单范围攻击',
    particle: SkillPathEnum.Wood,
    missType: MissType.Single,
  },
  '111': {
    name: '天照',
    type: [1, 5],
    special: Special.fire,
    desc: '无视防御造成伤害',
    damage: 1,
    speed: 1,
    longrang: true,
    pierce: true,
    range: ['0', '1'],
    particle: SkillPathEnum.tianzhao,
  },
  '112': {
    name: '跟踪波',
    type: [1, 5],
    special: Special.gengzongbo,
    desc: '无法躲避的攻击',
    damage: 1,
    speed: 1,
    longrang: true,
    range: ['0', '1', '2'],
    particle: SkillPathEnum.gengzongbo,
    bullet: EntityTypeEnum.Bo,
    animal: ParamsNameEnum.Bo,
  },
  '113': {
    name: '波',
    type: [1],
    desc: '普通的气波攻击',
    range: ['0', '1'],
    damage: 2,
    speed: 1,
    longrang: true,
    particle: SkillPathEnum.bo,
    bullet: EntityTypeEnum.Bo,
    animal: ParamsNameEnum.Bo,
  },
  '120': {
    name: '太阳拳',
    type: [1, 3, 5],
    special: Special.sun,
    desc: '偏斜所有攻击，然后发起一次近身攻击',
    damage: 2,
    speed: 0,

    particle: SkillPathEnum.sun,
    missType: MissType.All,
    animal: ParamsNameEnum.Sun,
  },
  '121': {
    name: '写轮眼',
    type: [5],
    special: Special.copy,
    desc: '复制对手当前行动',
    particle: SkillPathEnum.xielunyan,
  },
  '122': {
    // 面对远程和近战触发时机不同
    name: '舞空术',
    type: [3, 4],
    buff: [BuffEnum.fly],
    desc: '停滞在空中，同时视为一次跳跃, 近战可以攻击空中目标',
    damage: 1,
    speed: 0,
    range: ['0', '1'],
    location: '1',
    particle: SkillPathEnum.Dodging,
    missType: MissType.Bullet,
    animal: ParamsNameEnum.WuKong,
  },
  '123': {
    name: '龟波气功',
    type: [1],
    desc: 'ka-me-ha-me-ha!',
    damage: 3,
    longrang: true,
    speed: 0,
    range: ['0', '1'],
    particle: SkillPathEnum.qigong,
    animal: ParamsNameEnum.QiGong,
  },
  '130': {
    name: '界王拳',
    type: [4],
    buff: [BuffEnum.shuangbei],
    desc: '造成双倍伤害，但攻击时自身受到一点伤害',
    damage: 2, //给雷达图的
    particle: SkillPathEnum.jiewangquan,
  },
  '131': {
    name: '三重罗生门',
    type: [2, 4],
    buff: [BuffEnum.door],
    desc: '每重都有两点防御力',
    defense: 6,
    particle: SkillPathEnum.luoshengmen,
    animal: ParamsNameEnum.men,
  },
  '132': {
    name: '气功炮',
    type: [1, 5],
    special: Special.qigongpao,
    desc: '汇集气然后造成大量伤害, 无视地面防御（如三重罗生门）',
    damage: 4,
    range: ['02'],
    longrang: true,
    location: '1',
    speed: 0,
    particle: SkillPathEnum.qigongpao,
    animal: ParamsNameEnum.Xu,
  },
  '133': {
    name: '影分身',
    type: [4],
    buff: [BuffEnum.clone],
    desc: '召唤两个分身，重复自身动作，抵挡一点伤害后消失。分身不保留状态',
    special: Special.Reflect,
    particle: SkillPathEnum.RelationshipBounds,
    animal: ParamsNameEnum.clone,
  },
  '140': {
    name: '元气弹',
    type: [1, 5],
    desc: '汇集所有生物的元气，造成大量伤害',
    damage: 4,
    speed: 0,
    range: ['012'],
    longrang: true,
    particle: SkillPathEnum.yuanqidan,
    animal: ParamsNameEnum.yuanqidan,
  },
  '141': {
    name: '赛亚人变身',
    type: [4, 5],
    buff: [BuffEnum.saiya],
    special: Special.saiya,
    desc: '波类技能消耗减1，龟波气功伤害加2',
    particle: SkillPathEnum.aura,
    animal: ParamsNameEnum.Xu,
  },
  '142': {
    name: '尾兽玉',
    type: [1],
    desc: '快速且强力的攻击',
    range: ['0', '1'],
    damage: 4,
    speed: 1,
    longrang: true,
    particle: SkillPathEnum.weishou,
    bullet: EntityTypeEnum.Yu,
    animal: ParamsNameEnum.Bo,
  },
}

export default skills
